<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui"
      xmlns:cote="http://java.sun.com/jsf/composite/componentes">

    <ui:composition template="/plantillas/plantillaPrincipal.xhtml">
        <ui:define name="contenido">
            <f:view>
                <h:form id="formFacturacion">
                    <p:panel id="pnlFacturacion" header="Registrar Nota Credito"
                             style="width:100%;margin: 0px auto;">
                        <p:panelGrid id="pnlPrincipal" style="width:100%;margin: 0px auto">


                            <p:row>
                                <p:column colspan="6">
                                    <p:panelGrid style="width:100%;margin: 0px auto;">

                                        <p:row rendered="#{BKVentaNotaCredito.comando.nombre eq 'Actualizar'}" >

                                            <p:column>
                                                <h:outputLabel id="lblEstado"
                                                               value="Estado " />
                                            </p:column>
                                            <p:column>

                                                <h:outputLabel id="lblEstadoValor" value="#{BKVentaNotaCredito.estado}" style="color:#{BKVentaNotaCredito.color}" />
                                            </p:column>  
                                            <p:column colspan="2">

                                            </p:column>
                                            <p:column>
                                                <h:outputLabel id="lblSerieNumero" value="Serie/Numero " />
                                            </p:column>
                                            <p:column>                                                                                             
                                                <p:inputMask mask="999-99999999" id="txtSerieNumero"
                                                             required="true" size="14"
                                                             value="#{BKVentaNotaCredito.numero}" />
                                            </p:column>


                                        </p:row>


                                        <p:row rendered="#{BKVentaNotaCredito.comando.nombre eq 'Guardar'}" >

                                            <p:column colspan="5">

                                            </p:column>
                                            <p:column>
                                                <p:selectOneMenu value="#{BKVentaNotaCredito.ventaCreditoFormulario.serienc}" required="true" id="cbxSerie" 
                                                                 style="width: 55px;float: left">
                                                    <f:selectItem itemLabel="Seleccionar" itemValue="" /> 
                                                    <f:selectItems value="#{BKVentaNotaCredito.listaCorrelativos}" var="cor" 
                                                                   itemLabel="#{cor.serie}" itemValue="#{cor.serie}"/>	
                                                    <p:ajax update="txtNumDoc" process="@this" event="change" listener="#{MBVentaNotaCredito.buscarNumDoc}" />  

                                                </p:selectOneMenu>
                                                <p:inputText id="txtNumDoc"  style="float: left"
                                                             size="10" value="#{BKVentaNotaCredito.ventaCreditoFormulario.numnc}" maxlength="8"  >
                                                    <f:validateRegex pattern="[0-9]*" />
                                                </p:inputText>  
                                                <p:message for="cbxSerie" display="text"  />
                                                <p:message for="txtNumDoc" display="text"  />
                                            </p:column>



                                        </p:row>
                                        <p:row>
                                            <p:column colspan="4">

                                            </p:column>
                                            <p:column>
                                                <h:outputLabel id="fechaEmision" value="Fecha Emisión(*)" />
                                            </p:column>
                                            <p:column>
                                                <p:calendar id="calendarFechaEmision" 
                                                            value="#{BKVentaNotaCredito.ventaCreditoFormulario.fechanc}"
                                                            pattern="dd/MM/yyyy" size="13"
                                                            showButtonPanel="true" navigator="true" showOn="button"
                                                            required="true" locale="es"
                                                            mindate="#{BKConstante.today}" />
                                                <p:message for="calendarFechaEmision" display="text"  />
                                            </p:column>     
                                        </p:row>

                                        <p:row>
                                            <p:column>
                                                <h:outputLabel id="lblRUC" value="NRO RUC(*)" />
                                            </p:column>
                                            <p:column>
                                                <p:inputText id="txtRuc"  onkeyup="cambiarMayuscula(this)" required="true"
                                                             value="#{BKVentaNotaCredito.ventaCreditoFormulario.ruc}" />
                                                <p:message for="txtRuc" display="text"  />
                                            </p:column>
                                            <p:column>
                                                <cote:componenteFindCliente id="findCliente" 
                                                                            lblbtnfind="Buscar Cliente"                                                                                                      
                                                                            update=":formFacturacion:txtRuc,:formFacturacion:txtRazonSocial,:formFacturacion:txtDireccion"/>
                                            </p:column>
                                            <p:column>

                                            </p:column>
                                            <p:column>
                                                <h:outputLabel id="lblTipoCambio" value="Tipo Cambio(*)" />
                                            </p:column>
                                            <p:column>
                                                <p:inputText id="txtTipoCambio"  onkeyup="cambiarMayuscula(this)" required="true"
                                                             value="#{BKVentaNotaCredito.ventaCreditoFormulario.tipocambio}" />
                                                <p:message for="txtTipoCambio" display="text"  />
                                            </p:column>
                                        </p:row>

                                        <p:row>
                                            <p:column>
                                                <h:outputLabel id="lblRazonSocial"
                                                               value="Razon Social(*)" />
                                            </p:column>
                                            <p:column colspan="5">
                                                <p:inputText id="txtRazonSocial"  onkeyup="cambiarMayuscula(this)" required="true"
                                                             value="#{BKVentaNotaCredito.ventaCreditoFormulario.empresa}" size="120"/>
                                                <p:message for="txtRazonSocial" display="text"  />
                                            </p:column>											
                                        </p:row>
                                        <p:row>
                                            <p:column>
                                                <h:outputLabel id="lblDireccion"
                                                               value="Direccion(*)" />
                                            </p:column>
                                            <p:column colspan="5">
                                                <p:inputText id="txtDireccion"  onkeyup="cambiarMayuscula(this)" required="true"
                                                             value="#{BKVentaNotaCredito.ventaCreditoFormulario.direccion}" size="120"/>
                                                <p:message for="txtDireccion" display="text"  />
                                            </p:column>											
                                        </p:row>

                                        <p:row>


                                            <p:column>
                                                <h:outputLabel id="lblTipMoneda"
                                                               value="Tipo Moneda(*)" />
                                            </p:column>
                                            <p:column>
                                                <p:selectOneMenu id="cbxTipMoneda" required="true" converter="#{tipoMonedaConverter}"
                                                                 value="#{BKVentaNotaCredito.ventaCreditoFormulario.moneda}" >
                                                    <f:selectItem itemLabel="Seleccionar" itemValue="" />
                                                    <f:selectItems value="#{BKVentaNotaCredito.listaTipoMoneda}"
                                                                   var="tipoMoneda" itemLabel="#{tipoMoneda.nombre}"
                                                                   itemValue="#{tipoMoneda}" />
                                                    <p:ajax update=":formFacturacion:txtValorLetras" process="@this" listener="#{MBVentaNotaCredito.convertirALetra}" />
                                                </p:selectOneMenu>
                                                <p:message for="cbxTipMoneda" display="text"  />
                                            </p:column>
                                            <p:column>
                                                <h:outputLabel id="lblMotivo"
                                                               value="Motivo de Emision" />
                                            </p:column>
                                            <p:column>
                                                <p:selectOneMenu id="cbxMotivo" 
                                                                 value="#{BKVentaNotaCredito.idTipoMotivo}">
                                                    <f:selectItem itemLabel="Seleccionar" itemValue="" />
                                                    <f:selectItems value="#{BKVentaNotaCredito.listaMotivoEmision}"
                                                                   var="tipoMotivo" itemLabel="#{tipoMotivo.desParametroDet}"
                                                                   itemValue="#{tipoMotivo.valNumerico}" />
                                                </p:selectOneMenu>
                                                <p:message for="cbxMotivo" display="text"  />
                                            </p:column>
                                            <p:column>
                                                <h:outputLabel id="lblOtros"
                                                               value="Otros " />
                                            </p:column>
                                            <p:column>
                                                <p:inputText id="txtOtros"  onkeyup="cambiarMayuscula(this)"
                                                             value="#{BKVentaNotaCredito.ventaCreditoFormulario.otros}" />
                                            </p:column>
                                        </p:row>

                                        <p:row>
                                            <p:column colspan="3">

                                                <p:fieldset legend="Documento que Modifica" toggleable="true"
                                                            toggleSpeed="200">
                                                    <p:panelGrid style="width:80%;margin: 0px auto;">
                                                        <p:row>

                                                            <p:column>
                                                                <h:outputLabel id="lblDenominacion"
                                                                               value="Denominación " />
                                                            </p:column>
                                                            <p:column>
                                                                <p:inputText id="txtDenominacion"  onkeyup="cambiarMayuscula(this)"
                                                                             value="#{BKVentaNotaCredito.ventaCreditoFormulario.documentoMod}" />
                                                            </p:column>
                                                            <p:column>
                                                                <h:outputLabel id="lblN"
                                                                               value="N " />
                                                            </p:column>
                                                            <p:column>
                                                                <p:inputText id="txtN"  onkeyup="cambiarMayuscula(this)"
                                                                             value="#{BKVentaNotaCredito.ventaCreditoFormulario.numeroMod}" />
                                                            </p:column>
                                                        </p:row>
                                                        <p:row>

                                                            <p:column colspan="3">
                                                                <h:outputLabel id="lblFecha"
                                                                               value="Fecha de Emisión del Comprobante de Pago " />
                                                            </p:column>

                                                            <p:column>
                                                                <p:calendar id="calendarFechaDocumento" 
                                                                            value="#{BKVentaNotaCredito.ventaCreditoFormulario.fechaMod}"
                                                                            pattern="dd/MM/yyyy" size="13"
                                                                            showButtonPanel="true" navigator="true" showOn="button"
                                                                            required="true" locale="es" />
                                                            </p:column>
                                                        </p:row>
                                                    </p:panelGrid>
                                                </p:fieldset>
                                            </p:column>
                                            <p:column colspan="3">
                                                <p:fieldset legend="Recepcion de la Nota de Credito" toggleable="true"
                                                            toggleSpeed="200">
                                                    <p:panelGrid style="width:80%;margin: 0px auto;">
                                                        <p:row>

                                                            <p:column colspan="3">
                                                                <h:outputLabel id="lblPersona"
                                                                               value="Apellidos y Nombres de quien recepciona la nota de credito " />
                                                            </p:column>
                                                            <p:column>
                                                                <p:inputText id="txtPersona"  onkeyup="cambiarMayuscula(this)"
                                                                             value="#{BKVentaNotaCredito.ventaCreditoFormulario.nombreRecep}"  size="40"/>
                                                            </p:column>                                                                                            
                                                        </p:row>
                                                        <p:row>
                                                            <p:column>
                                                                <h:outputLabel id="lblFechaRecep"
                                                                               value="Fecha de Recepción" />
                                                            </p:column>

                                                            <p:column>
                                                                <p:calendar id="calendarFechaRecep" 
                                                                            value="#{BKVentaNotaCredito.ventaCreditoFormulario.fechaRecep}"
                                                                            pattern="dd/MM/yyyy" size="13"
                                                                            showButtonPanel="true" navigator="true" showOn="button"
                                                                            required="true" locale="es"
                                                                            />
                                                            </p:column>
                                                            <p:column >
                                                                <h:outputLabel id="lblDNI"
                                                                               value="DNI " />
                                                            </p:column>
                                                            <p:column>
                                                                <p:inputText id="txtDNI"  onkeyup="cambiarMayuscula(this)"
                                                                             value="#{BKVentaNotaCredito.ventaCreditoFormulario.dniRecep}"  size="20"/>
                                                            </p:column>

                                                        </p:row>
                                                    </p:panelGrid>
                                                </p:fieldset>
                                            </p:column>
                                        </p:row>

                                        <p:row>
                                            <p:column colspan="6">

                                                <p:panelGrid style="width:100%;margin: 1px auto;">
                                                    <p:row>
                                                        <p:column colspan="5">
                                                            <p:fieldset legend="Detalle">

                                                                <p:dataTable id="dataTablaArticulos" var="det"
                                                                             value="#{BKVentaDetalleNotaCredito.listaDetalleNotaCredito}"
                                                                             widgetVar="lista"
                                                                             emptyMessage="No existen articulos agregados"
                                                                             filteredValue="" rowIndexVar="rowIndex" paginator="true"
                                                                             rows="10"
                                                                             paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} 
                                                                             {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                                                                             rowsPerPageTemplate="5,10,15">

                                                                    <f:facet name="header">
                                                                        <div align="right">
                                                                            <cote:componenteAddFacturaNC id="findFactura" 
                                                                                                         lblbtnfind="Adicionar Factura"        
                                                                                                         razon="#{BKVentaNotaCredito.ventaCreditoFormulario.empresa}"
                                                                                                         update=":formFacturacion:dataTablaArticulos,:formFacturacion:txtSubtotal,:formFacturacion:txtIgv,:formFacturacion:txtTotal,
                                                                                                         :formFacturacion:txtValorLetras,:formFacturacion:pnlBotones"/>    

                                                                        </div>

                                                                    </f:facet>

                                                                    <p:column id="idColumnaNum" style="width: 5%" headerText="Num.">
                                                                        <h:outputText value="#{rowIndex+1}" />
                                                                    </p:column>

                                                                    <p:column id="idColumnaCant" style="width: 10%"
                                                                              sortBy="#{det.cantidad}"  headerText="Cantidad">
                                                                        <h:outputText value="#{det.cantidad}" />
                                                                    </p:column>

                                                                    <p:column id="idColumnaDesc" style="width: 55%"
                                                                              sortBy="#{det.descripcion}" headerText="Descripcion">
                                                                        <h:outputText value="#{det.descripcion}" />
                                                                    </p:column>


                                                                    <p:column id="idColumnaPrecio" style="width: 10%"
                                                                              sortBy="#{det.precioUni}"  headerText="Precio">
                                                                        <h:outputText value="#{det.precioUni}" >
                                                                            <f:convertNumber  minFractionDigits="2" maxFractionDigits="2"  />
                                                                        </h:outputText>
                                                                    </p:column>

                                                                    <p:column id="idColumnaImporte" style="width: 10%"
                                                                              sortBy="#{det.importe}" headerText="Importe">
                                                                        <h:outputText value="#{det.importe}" >
                                                                            <f:convertNumber  minFractionDigits="2" maxFractionDigits="2"  />
                                                                        </h:outputText>
                                                                    </p:column>


                                                                    <p:column id="idAccionesArticulo" headerText="Acciones"
                                                                              style="width: 10%">
                                                                        <p:commandButton id="btnEliminarDetGuia" title="Eliminar"
                                                                                         icon="ui-icon-close"  oncomplete="confirmacionQuitar.show()">
                                                                            <f:setPropertyActionListener value="#{det}" target="#{BKVentaDetalleNotaCredito.detalleNotaCreditoSeleccionado}" /> 
                                                                        </p:commandButton>
                                                                    </p:column>

                                                                </p:dataTable>
                                                            </p:fieldset>
                                                        </p:column>
                                                    </p:row>
                                                </p:panelGrid>

                                            </p:column>
                                        </p:row>

                                        <p:row>

                                            <p:column colspan="4">

                                            </p:column>
                                            <p:column>
                                                <h:outputLabel id="lblSubtotal" value="SUBTOTAL " />
                                            </p:column>
                                            <p:column>                                                                                             
                                                <p:inputText id="txtSubtotal"  onkeyup="cambiarMayuscula(this)"
                                                             value="#{BKVentaNotaCredito.ventaCreditoFormulario.importe}" >
                                                    <f:convertNumber minFractionDigits="2" maxFractionDigits="2" />
                                                </p:inputText>
                                            </p:column>


                                        </p:row>
                                        <p:row>

                                            <p:column colspan="4">

                                            </p:column>
                                            <p:column>
                                                <h:outputLabel id="lblIGV" value="IGV " />
                                            </p:column>
                                            <p:column>                                                                                             
                                                <p:inputText id="txtIgv"  onkeyup="cambiarMayuscula(this)"
                                                             value="#{BKVentaNotaCredito.ventaCreditoFormulario.igv}" >
                                                    <f:convertNumber minFractionDigits="2" maxFractionDigits="2" />
                                                </p:inputText>
                                            </p:column>


                                        </p:row>
                                        <p:row>
                                            <p:column colspan="4">

                                            </p:column>
                                            <p:column>
                                                <h:outputLabel id="lblTotal" value="TOTAL " />
                                            </p:column>
                                            <p:column>                                                                                             
                                                <p:inputText id="txtTotal"  onkeyup="cambiarMayuscula(this)"
                                                             value="#{BKVentaNotaCredito.ventaCreditoFormulario.total}" >
                                                    <f:convertNumber minFractionDigits="2" maxFractionDigits="2" />
                                                </p:inputText>
                                            </p:column>


                                        </p:row>
                                        <p:row>
                                            <p:column colspan="6">
                                                <h:outputLabel id="lblValorLetras"
                                                               value="SON: " />
                                                <p:inputText id="txtValorLetras"  onkeyup="cambiarMayuscula(this)" readonly="true"
                                                             value="#{BKVentaNotaCredito.ventaCreditoFormulario.totalletras}" size="150"/>

                                            </p:column>
                                        </p:row>


                                    </p:panelGrid>
                                </p:column>
                            </p:row>


                        </p:panelGrid>

                        <p:panelGrid id="pnlBotones" style="width:40%;margin: 10px auto;">

                            <p:row rendered="#{BKVentaNotaCredito.comando.nombre eq 'Guardar'}">
                                <p:column>
                                    <p:column>
                                        <p:commandButton id="btnGuardarFactura" disabled="#{BKVentaDetalleNotaCredito.listaDetalleNotaCredito.size() eq 0}"
                                                         action="#{MBVentaNotaCredito.guardar()}" ajax="false"
                                                         value="Guardar" />
                                    </p:column>
                                </p:column>

                                <p:column>
                                    <p:commandButton id="btnImprimirFactura" disabled="#{BKVentaDetalleNotaCredito.listaDetalleNotaCredito.size() eq 0}"
                                                     oncomplete="confirmacionImprimir.show()" value="Imprimir" />
                                </p:column>

                                <p:column>
                                    <p:button
                                        href="/paginas/ventas/notaCredito/listarNotaCredito.anx"
                                        value="Cancelar" />
                                </p:column>
                            </p:row>
                            <p:row rendered="#{BKVentaNotaCredito.comando.nombre eq 'Actualizar'}">
                                <p:column>
                                    <p:commandButton id="btnAnularFV"
                                                     oncomplete="confirmacionAnular.show()" value="Anular" disabled="#{BKVentaNotaCredito.anulable}"/>
                                </p:column>

                                <p:column>
                                    <p:commandButton id="btnEditarFactura" disabled="#{BKVentaDetalleNotaCredito.listaDetalleNotaCredito.size() eq 0}"
                                                     action="#{MBVentaNotaCredito.actualizar()}" ajax="false"
                                                     value="Actualizar" />
                                </p:column>

                                <p:column>
                                    <p:commandButton id="btnImprimirFacturaEditar" disabled="#{BKVentaDetalleNotaCredito.listaDetalleNotaCredito.size() eq 0}"
                                                     oncomplete="confirmacionImprimir.show()" value="Imprimir" />
                                </p:column>


                                <p:column>
                                    <p:button
                                        href="/paginas/ventas/notaCredito/listarNotaCredito.anx"
                                        value="Cancelar" />
                                </p:column>

                            </p:row>

                        </p:panelGrid>

                        <h:panelGrid>
                            (*) Campos requeridos
                        </h:panelGrid>

                    </p:panel>
                    <p:confirmDialog id="dlgAnularFV" message="¿Esta seguro de ANULAR esta Factura?" 
                                     header="Anular Factura" severity="alert" widgetVar="confirmacionAnular">
                        <h:panelGrid style="width: auto;margin:0px auto;border:0px;padding: 0 5px" columns="2">
                            <p:commandButton id="btnAnularDialogFV" value="Si"  oncomplete="confirmacionAnular.hide()"  
                                             actionListener="#{MBVentaNotaCredito.anular()}" ajax="false" />  
                            <p:commandButton id="btnCancelarAnularDialogFV" value="No" onclick="confirmacionAnular.hide()" type="button" />
                        </h:panelGrid>
                    </p:confirmDialog>

                    <p:confirmDialog id="dlgImprimirFV" message="¿Esta seguro de Imprimir esta Factura?" 
                                     header="Imprimir Factura" severity="alert" widgetVar="confirmacionImprimir">
                        <h:panelGrid style="width: auto;margin:0px auto;border:0px;padding: 0 5px" columns="2">
                            <p:commandButton id="btnImprimirDialogFV" value="Si"  oncomplete="confirmacionImprimir.hide()" process="@this"  
                                             action="#{MBVentaNotaCredito.imprimir()}" ajax="false" />   
                            <p:commandButton id="btnCancelarImprimirDialogFV" value="No" onclick="confirmacionImprimir.hide()" type="button" />
                        </h:panelGrid>
                    </p:confirmDialog>
                    <p:confirmDialog id="dlgEditarDetalle" message="¿Esta seguro de eliminar este producto  del documento?" 
                                     header="Eliminar Producto" severity="alert" widgetVar="confirmacionQuitar">
                        <h:panelGrid style="width: auto;margin:0px auto;border:0px;padding: 0 5px" columns="2">
                            <p:commandButton id="btnAceptarDetalle" value="Si"  oncomplete="confirmacionQuitar.hide()"  
                                             actionListener="#{MBVentaNotaCredito.eliminarDetalle()}"  ajax="true" 
                                             update="dataTablaArticulos,txtSubtotal,txtIgv,txtTotal,txtValorLetras,pnlBotones"/>  
                            <p:commandButton id="btnCancelarDetalle" value="No" onclick="confirmacionQuitar.hide()" type="button" />
                        </h:panelGrid>
                    </p:confirmDialog>	

                    <p:blockUI block="pnlFacturacion" trigger="btnGuardarFactura">
                        Guardando el Documento de Venta<br />
                        <p:graphicImage value="/images/ajax-loader.gif" />
                    </p:blockUI>

                </h:form>
            </f:view>
        </ui:define>
    </ui:composition>


</html>
